home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tiger Disk 11
/
Tiger_Disk_011_19xx_Tiger-Crew-Disk_de_Side_B.d64
/
64 tester
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
7KB
|
248 lines
10 print"[147]":poke53280,0:poke53281,0
20 printspc(174)"[169][146][158][169] [156][169][146][169][159] [146] [146][169]"
30 printspc(13)"[169][146][129][169] [153][169][146][156][169] [159] [146] [146][169]"
40 printspc(13)" [129] [158] [223][146] [153] [156] [159] [146]"
50 printspc(13)" [146] [146] [159] [146] [223][146]"
60 printspc(13)"[223][129] [158] [146][169] [159] [146] [223][146]"
70 printspc(87)" [146] [146] [169] [223][146] [146]"
80 printspc(9)" [146] [146] [146] [146]"
90 printspc(9)" [146] [146] [223] [223][146] [146]"
100 printspc(9)" [146] [146] [146] [146]"
110 printspc(9)" [146] [146] [223] [146][169] [146]"
120 printspc(92)"[154]by the compucats"
130 rem ***********************
140 rem ** c-64 test program **
150 rem ** by the compucats **
160 rem ** aberdeen md 21001 **
170 rem ***********************
180 rem *** sprite position data ***
190 data 78,80,135,80,193,80,250,80
200 data 78,150,135,150,193,150,250,150
210 rem ****** paddle ml data *******
220 data162,1,120,173,2,220,141,0,193,169,192,141,2,220,169,128,141,0,220
230 data160,128,234,136,16,252,173,25,212,157,1,193,173,26,212,157,3,193,173,0
240 data220,9,128,141,5,193,169,64,202,16,222,173,0,193,141,2,220,173,1
250 data220,141,6,193,88,96
260 rem ****** user ram ml data *******
270 data169,0,133,251,133,253,169,8,133,252,169,194,133,254,162,152,160,0
280 data177,251,145,253,200,208,249,230,252,202,208,244,96
290 rem ****** set up ml routines *******
300 fori=0to15:reada%:next:dima(6)
310 fori=0to63:reada%:poke49152+i,a%:next
320 fori=0to30:reada%:poke50176+i,a%:next
330 rem *** title screen ***
340 fort=1to3000:next
350 rem ******** main menu ********
360 poke53280,0:poke53281,0:print"[147]"
370 printtab(12)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
380 printtab(8)"**** enter number [146]****"
390 printtab(12)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
400 print
410 printtab(9)"[209] (1) sprites"
420 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
430 printtab(9)"[209] (2) joysticks"
440 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
450 printtab(9)"[209] (3) paddles"
460 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
470 printtab(9)"[209] (4) user ram"
480 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
490 printtab(9)"[209] (5) sid (sound)"
500 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
510 printtab(9)"[209] (6) basic rom"
520 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
530 b=0:a$="":fori=1to13step2:a(b)=i:b=b+1:next
540 print""
550 r=int(rnd(0)*6+1):b=int(rnd(1)*10+2)
560 printleft$(a$,a(r));
570 poke646,b:printtab(9);"[209]":fort=1to500:next:geti$:ifi$<>""then590
580 goto540
590 i=val(i$)
600 if i<1ori>6 then540
610 onigoto630,1730,2080,2250,990,1240
620 rem ******** sprite check *********
630 poke53280,0:poke53281,0:poke646,14
640 print"[147]"
650 forx=12288to12352step2:pokex,255:next
660 forx=12289to12351step2:pokex,60:next
670 restore:forx=0to7:readx1(x),y1(x):next
680 sp=53248:pokesp+21,0:pokesp+23,0:pokesp+29,0
690 forx2=0to7:poke2040+x2,192:next
700 forx3=0to7:poke2*x3+sp,x1(x3):poke2*x3+1+sp,y1(x3)+20:pokesp+39+x3,x3+1:next
710 pokesp+21,255
720 print"[147]"tab(8)"1"tab(15)"2"tab(22)"3"tab(29)"4"
730 print""tab(8)"5"tab(15)"6"tab(22)"7"tab(29)"8"
740 forn=0to7:forxy=19to1step-1:pokesp+n*2+1,y1(n)+xy:next:next
750 forx=1to4:forn=0to7:on x gosub780,790,800,810
760 next:next:goto820
770 stop
780 forxy=1to20:pokesp+n*2,x1(n)-xy:next:return
790 forxy=1to20:pokesp+n*2+1,y1(n)-xy:next:return
800 forxy=20 to 1 step-1:pokesp+n*2,x1(n)-xy:next:return
810 forxy=20to1step-1:pokesp+n*2+1,y1(n)-xy:next:return
820 forx=0to15:fory=0to7:pokesp+39+y,x:next:fort=1to400:next:next
830 forx=0to7:pokesp+39+x,x+1:next
840 forn=0to7:pokesp+23,int(2^n):fort=1to400:next:next:pokesp+23,0
850 forn=0to7:pokesp+29,int(2^n):fort=1to400:next:next:pokesp+29,0
860 print" which sprite? (1-8 : 0 to return)"
870 geta$:ifa$=""then870
880 gosub930
890 forx=1to4:onxgosub780,790,800,810:next
900 goto870
910 pokes+21,0:print"[147]":end
920 geta$:ifa$=""then920
930 a=asc(a$):ifa<48ora>56then920
940 ifa=48then970
950 n=val(a$)-1
960 return
970 print"[147]":pokesp+21,0:goto360
980 rem ******** sid check *********
990 print"[147]":printspc(93)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
1000 printtab(10)"*** sid sound test [146]***"
1010 printtab(13)"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
1020 ff=1
1030 v=54272:forl=vtov+24:pokel,0:next:fort=0to2:k=t*7
1040 pokev+5+k,88:pokev+6+k,195:forwa=1to4:ifwa=1thenw=17
1050 ifwa=2thenw=33
1060 ifwa=3thenw=65
1070 ifwa=4thenw=129
1080 pokev+24,15:pokev+2+k,255:pokev+4+k,w
1090 print""tab(12)"[154]voice [153]"t+1:printspc(92)"[154]waveform: [156]";
1100 ifwa=1thenprint"triangle "
1110 ifwa=2thenprint"sawtooth "
1120 ifwa=3thenprint"pulse "
1130 ifwa=4thenprint"white noise"
1140 print"":forhi=1to255 step2
1150 pokev+1+k,hi:printtab(12)"[145][154]high byte : "hi:next:pokev+4+k,0
1160 ift=2andwa=4then1180
1170 next:next
1180 print"[154] if your sid is working"
1190 print" you should have heard the"
1200 print" sounds with all three voices."
1210 fort=1to5000:next
1220 goto360
1230 rem ******** basic rom check *********
1240 b3=0:print"[147]":printtab(13)"[159][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
1250 printtab(10)"***[159] basic rom test [146]***"
1260 printtab(13)"[159][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
1270 b1=40960
1280 print"[153]register being tested:"
1290 b2=peek(b1)
1300 print"[159]";b1
1310 b3=b3+b2
1320 ifb1=41300then1430
1330 ifb1=42000then1450
1340 ifb1=43000then1470
1350 ifb1=44000then1490
1360 ifb1=45000then1510
1370 ifb1=46000then1530
1380 ifb1=47000then1550
1390 ifb1=48000then1580
1400 ifb1=49151then1610
1410 b1=b1+1:goto1290
1420 b1=b1+1:goto1290
1430 ifb3=43099thenprintspc(46)"[156]part 1 - ok":goto1640
1440 goto1660
1450 ifb3=66906thenprintspc(86)"[156]part 2 - ok":goto1640
1460 goto1660
1470 ifb3=117669thenprintspc(126)"[156]part 3 - ok":goto1640
1480 goto1660
1490 ifb3=114311thenprintspc(166)"[156]part 4 - ok":goto1640
1500 goto1660
1510 ifb3=111749thenprintspc(206)"[156]part 5 - ok":goto1640
1520 goto1660
1530 ifb3=114547thenprintspc(246)"[156]part 6 - ok":goto1640
1540 goto1660
1550 print""
1560 ifb3=115993thenprinttab(6)"[156]part 7 - ok":goto1640
1570 goto1660
1580 print""
1590 ifb3=114241thenprinttab(6)"[156]part 8 - ok":goto1640
1600 goto1660
1610 print""
1620 ifb3=134691thenprinttab(6)"[156]part 9 - ok":goto1690
1630 goto1660
1640 b3=0:b1=b1+1:goto1290
1650 goto1290
1660 print"a problem exists in the rom of this computer"
1670 fort=1to3000:next
1680 goto360
1690 print"[153]the basic rom checks ok"
1700 fort=1to2000:next
1710 goto360
1720 rem ******** joystick check *********
1730 print"[147]":printspc(93)"[153][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
1740 printtab(10)"***[153] joystick check [146]***"
1750 printtab(13)"[153][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
1760 printspc(128)"[154]press f1 to test port # 1"
1770 printspc(48)"press f3 to test port # 2"
1780 printspc(48)"press f7 to return"
1790 forx=12288to12352step2:pokex,127:next
1800 forx=12289to12351step2:pokex,254:next
1810 sp=53248:x=150:y=180:pokesp+21,1:pokesp+39,2
1820 poke2040,192:pokesp,x:pokesp+1,y
1830 ifaa=1thenjs=15-(peek(56321)and15)
1840 ifaa=5thenjs=15-(peek(56320)and15)
1850 ifjs=0then2020
1860 ifjs=1thendx=0:dy=-2:goto1940
1870 ifjs=2thendx=0:dy=2:goto1940
1880 ifjs=4thendx=-2:dy=0:goto1940
1890 ifjs=5thendx=-2:dy=-2:goto1940
1900 ifjs=6thendx=-2:dy=2:goto1940
1910 ifjs=8thendx=2:dy=0:goto1940
1920 ifjs=9thendx=2:dy=-2:goto1940
1930 ifjs=10thendx=2:dy=2:goto1940
1940 x=x+dx:y=y+dy
1950 ifx>255andpeek(sp+16)=0thenpokesp+16,1:x=0
1960 ifpeek(sp+16)=1andx<0thenpokesp+16,0:x=255
1970 ify>220theny=220
1980 ify<50theny=50
1990 ifx<40andpeek(sp+16)=0thenx=40
2000 ifx>50andpeek(sp+16)=1thenx=50
2010 pokesp,x:pokesp+1,y
2020 geta$
2030 ifa$=chr$(133)thenaa=1
2040 ifa$=chr$(134)thenaa=5
2050 ifa$=chr$(136)then970
2060 goto1830
2070 rem ******** paddle check **********
2080 print"[147]":printspc(93)"[156][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
2090 printtab(10)"***[156] paddle test [146]***"
2100 printtab(13)"[156][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
2110 printspc(132)"[159]press f1 to return"
2120 cc=49152
2130 syscc
2140 p1=peek(cc+257):p2=peek(cc+258)
2150 p3=peek(cc+259):p4=peek(cc+260)
2160 s1=peek(cc+261):s2=peek(cc+262)
2170 print"[156] #1 #2 #3 #4"
2180 print"[153] positions: ";p1;" ";p2;" ";p3;" ";p4
2190 printspc(43)"fire status: ";s1;" ";s2
2200 fort=1to1000:next
2210 print"[145][145][145] "
2220 print" "
2230 geta$:ifa$=chr$(133)then360
2240 goto2130
2250 print"[147]":printspc(93)"[158][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
2260 printtab(10)"***[158] user ram test [146]***"
2270 printtab(13)"[158][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
2280 printspc(127)"[154]f1 - user 38911 bytes check"
2290 printspc(87)"[153]f3 [192] decimal dump to screen"
2300 printspc(87)"[150]f7 [192] return"
2310 geta$:ifa$=""then2310
2320 ifa$=chr$(133)then2360
2330 ifa$=chr$(134)then2430
2340 ifa$=chr$(136)then360
2350 goto2310
2360 a=peek(40959):b=peek(40704)
2370 sys50176
2380 ifa=peek(49919)andb=peek(49664)then2400
2390 print"problem in high side of user ram":goto2410
2400 print"[156] user ram is ok"
2410 fort=1to3000:next
2420 goto2250
2430 print"[158] enter page # 8-159 ";:inputi$
2440 print"[147]":poke53281,1:i=val(i$):poke646,6
2450 forj=0to255:printpeek(i*256+j);" ";:next
2460 fori=0to4000:next
2470 poke53281,0:goto2250